Modern software development is evolving away from the client-server model toward “cloud”-based processing systems that provide access to data and services via the Internet or other networks. In contrast to prior systems that hosted networked applications on dedicated server hardware, the cloud computing model provides applications over the network “as a service”. The cloud computing model can often provide substantial cost savings to the customer over the life of the application because the customer no longer needs to provide dedicated network infrastructure, electrical and temperature controls, physical security and other logistics in support of dedicated server hardware.
In particular, multi-tenant cloud-based architectures have been developed to improve collaboration, integration and community-based improvement between customer tenants without sacrificing data security. Generally speaking, multi-tenancy refers to a system wherein a single hardware and software platform simultaneously supports multiple customers or other groups of users from a common data store. The shared platform in the multi-tenant architecture is usually designed to virtually partition data and operations so that each tenant works with a unique virtual application instance. The Force.com service available from salesforce.com of San Francisco, Calif., for example, provides an application-centric approach that abstracts the server hardware altogether and allows multiple tenants to simultaneously yet securely implement a wide variety of applications that are accessible via the Internet or a similar network.
In some instances, the different applications provided by a particular multi-tenant server are accessed via unique names and addresses. Certain tenants, for example, may wish to provide their applications from the shared server using customized domain names that uniquely identify the tenant's applications, and that differentiate that tenant's applications from those belonging to other tenants of the same shared server. A single multi-tenant server may therefore simultaneously support applications that are accessible via any number of different domain names.
The various domain names used to access the different applications can be published to users using the well-known Internet domain name service (DNS), or the like. Issues can arise, however, in maintaining consistency between multi-domain application servers and the publicly-available DNS service. If the public DNS becomes incorrect for any reason, then users may have difficulty in connecting to desired applications. It is therefore desirable to maintain the reliability and consistency of DNS information and/or other configuration data relating to multi-domain application servers, particularly when such servers support applications that are accessible via multiple distinct domains. Similar issues may arise in maintaining consistency and accuracy of other configuration information as well.